/*
 * Copyright 2000-2020 ALPHA LAB.Inc All Rights Reserved.
 */
package com.alphalab.framework.domain; 

import java.util.List; 

/**
 * PO/VO转换器接口.
 * @param <VO> 
 * @param <PO> 
 * @author allen 
 * @version 1.0.0 2017年9月23日
 */
public interface IValueObjectTransfer<VO extends AbstractValueObject, PO extends BaseEntity> {
	
	/**
	 * 将PO转成VO.
	 * @param paramPO PO
	 * @return VO
	 */
	VO toVO(PO paramPO);

	/**
	 * 将PO集合转成VO集合.
	 * @param paramList PO集合
	 * @return List
	 */	
	List<VO> toVO(List<PO> paramList);

	/**
	 * 将VO转成PO.
	 * @param paramVO VO
	 * @return PO
	 */
	PO toPO(VO paramVO);

	/**
	 * 将VO集合转成PO集合.
	 * @param paramList VO集合
	 * @return List<PO>
	 */		
	List<PO> toPO(List<VO> paramList);	

}
